package com.examplemartin.jpademo.service.admin;


import com.examplemartin.jpademo.dao.RoleDao;
import com.examplemartin.jpademo.pojo.po.RolePO;

import java.util.List;
import javax.annotation.Resource;

import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;

@Service
@Log4j2
public class RoleService {
    @Resource
    private RoleDao roleDao;

    @Resource
    private OperatorLogService operatorLogService;

    /**
     * 查询角色列表
     * @return
     */
    public List<RolePO> findAll(){
        return roleDao.findAll();
    }

    /**
     * 根据角色名称查找
     * 1 判断角色是否存在
     * 2 返回角色
     * @param name
     * @return
     */
    public Integer findByName(String name){
        Integer countByName = roleDao.countByName(name);
        log.info("RolePO.findByName: "+countByName);
        return countByName;
    }

    /**
     * 插入 角色
     * @param rolePO
     * @return
     */

    public RolePO insertRolePO(RolePO rolePO){
        RolePO save = roleDao.save(rolePO);
        log.info("RolePO.insertRolePO: "+save.getName());
        return save;
    }

    /**
     * 根据主键 查找 role
     * @param id
     * @return
     */
    public RolePO findRolePOById(Long id){
        RolePO rolePOById = roleDao.findRolePOById(id);
        return rolePOById;
    }

    public RolePO save(RolePO rolePO){
        return roleDao.save(rolePO);
    }

    /**
     * 删除角色
     * @param rolePO
     * @return
     */
    public void deleteRolePo(RolePO rolePO){
       roleDao.delete(rolePO);/**/
    }

    /** 模糊查找
     *
     */
    public List<RolePO> findAllByNameLike(String name){
        return roleDao.findAllByNameLike("%"+name+"%");
    }



}